#pragma once

#include <string>

#include "platform.h"
#include "MemoryBounds.h"
#include "MemoryRegion.h"

class ProcessModule
{
public:
	ProcessModule(const std::string& identifier, const address_t begin, const address_t end);

	ProcessModule(const std::string& identifier, const MemoryBounds& boundarys);

	const MemoryBounds& bounds() const;

	const std::string& identifier() const;

	const MemoryRegion asRegion(MemoryReader& reader) const;

protected:
	std::string ident;
	MemoryBounds bounds_;
};